{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用Python建立ARIMA模型，并就其实现过程进行逐步说明"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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fwvUS2efacC07E0mIuKfBg0axNdffw1AcHAw8+bNo2jRoi6nEpGs4I+nQUVE5BJWrVrFG2+84YxfffVV7rzzThcTiUhWUlkTEclBDh48SJcuXZxx8+bN6devn4uJRCSrqayJiOQQycnJPPzwwxw9ehSAG264gVmzZpEnj/4oFwlk+jdcRCSH+Ne//sXnn38OgDGG//znP+gxRSKBT2VNRCQHWLduHcOGDXPGQ4YM4a677nIxkYhkF5U1ERE/d/ToUTp27EhKSgoADRo0YMiQIS6nEpHs4heP7hARCTRJSUl8++23rF+/nqioKHbs2EGpUqWoVKkSlSpV4rbbbqNSpUqUKVPmks9Gs9bStWtXDh48CECJEiWYM2cOwcH641skt9C/7SIiPnD69Gk2bdrklLNNmzZx+vTpNPvs3r2b9evXp5m75pprnAKXusTdcsstBAcHM27cOFasWOHsP2vWLEqXLp0tv5OI+AeVNRGRKxAbG8v69eudcvbNN9+QnJyc6fc5ffo00dHRREdHp5nPly8fFStW5Mcf/7ey3nPPPUeLFi2uOruI5CwqayIiGfTdd9/xzjvvEBUVxa5duy67f9myZalXrx7169enZs2axMbGEhMTQ0xMDDt37iQmJoY//vgj3Z89d+4cO3bscMY1a9bktdde89nvIiI5h8qaiEgGTJ8+nSeffJJz585ddJ8qVao45axevXqULVv2gn2aNWvmvLbWOgXufHk7/3XgwAFnv2LFijFv3jzy5cvn219KRHIElTURkUtISkqiX79+vPXWW2nm8+bNS82aNZ1yVqdOHYoXL56p9zbGULJkSUqWLElERESabSdPnmTXrl3s37+f2rVrU6ZMmav+XUQkZ1JZExG5iGPHjtGuXTs+/fRTZ65q1apMmDCB2rVrU6BAgSz77CJFinDnnXdqzU8RUVkTEUnPDz/8wP33388vv/zizD344IPMnj2ba6+91sVkIpLb6KG4IiJ/sXTpUmrXrp2mqA0dOpQFCxaoqIlIttORNRERL2str776KkOGDMFaC3iegzZr1ixat27tcjoRya1U1kRE8DzvrFu3bnz00UfOXFhYGEuWLKFatWouJhOR3E5lTURcl5KSQnJyMnnz5nXl8/fv30/Lli357rvvnLmGDRsyf/58rrvuOlcyiYicp2vWRCTbJSUlsWXLFt544w3++c9/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yKWorInj9OnTjBw5kvLlyzNhwoQ0R9GKFy9Onz592LZtG5s3b+bxxx+nSJEiPs+QN29enn/+eWf8xhtvkJiY6PPPya1mzpzJa6+95oz79OnDk08+6WIiERG5HN1gICQmJjJ16lSGDRvGkSNH0myrXbs2ffv2pWXLloSEhGRLnvj4eMLCwoiNjQU8D2ft0qVLtnx2IFu3bh333HOPU37vvfdeli5dSlBQkMvJREREj+6QdKWkpPDhhx9y22230atXrzRFrVKlSixevJiNGzfStm3bbCtqAAULFkzzUNzXX3+dlJSUbPv8QLRnzx5atWrlFLWqVasyb948FTURkRxAZS2X+vTTT6lVqxbt27dnz549znzp0qWZOnUq27Zto2XLlq49b+upp56iUKFCAMTExLB06VJXcgSC84uz//HHHwCUKlWKZcuWOX99RUTEv6ms5TLffPMNTZo0oXHjxs7dgABFixZl9OjR7N69m+7duxMc7O5TXYoWLZrmWqrXXnuNQD1ln5X+ujh7SEgIS5YsoVy5ci4nExGRjFJZyyV+/vlnOnToQI0aNfj444+d+fz589O/f39++eUXXnjhBQoUKOBiyrT69u3rnH7dvHkzn3/+ucuJcpaLLc5+5513uphKREQyS2UtwCUkJPDss8/y97//nXnz5jnzefLkoXv37uzevZtRo0ZRrFgxF1Om7/rrr+fRRx91xqnvYpTLe/fdd9Mszj58+HDatWvnYiIREbkSuhs0gB0/fpwHHnjggjU7H3jgAV599VUqVarkUrKM+/nnn6lYsaJzg8GWLVsID0/3ZhlJZceOHdSsWZOzZ88C0KlTJ95//32t+Ski4qd0N2gutG/fPurWrZumqNWvX58NGzawaNGiHFHUAMqXL5/maJCOrl3e2bNn6dChg1PUqlatqsXZRURyMJW1APTtt99Su3ZtYmJinLlRo0axbt066tSp42KyKzNw4EDn9aJFi9i1a5eLafzfgAED2LFjB+C5JnHu3Lnkz5/f5VQiInKlVNYCzNq1a2nQoAGHDx8GPCsCzJkzh/79++fYIyvVqlWjRYsWgOei+VGjRrmcyH+tWrWKt956yxmPGTOGypUru5hIRESulspaAJk5cyYtWrQgLi4OgCJFirB27Vo6dOjgcrKr9+KLLzqvP/jggwvWKxU4cuQIXbt2dcb33XeflpISEQkAKmsBwFrL8OHDefTRR0lKSgKgTJkybNiwgYYNG7obzkfq1q1L/fr1AUhKSmLMmDEuJ/Iv1loeffRRfv/9d8BzJ+20adNy7NFUERH5H5W1HC4xMZEePXrwyiuvOHPVqlXjq6++CrjTX6mPrr333nvO2qECEydOZNWqVc541qxZhIaGuphIRER8RWUtB4uLi+P+++9n2rRpzlzjxo2JioqidOnSLibLGs2aNeP2228H4MyZM0ycONHlRP5h+/bt9O/f3xk/99xzNGnSxMVEIiLiSyprOdThw4eJiIhg9erVzlyXLl1YsWIFhQsXdjFZ1jHGpLkzdOLEiZw6dcrFRO47c+YMHTp0ICEhAYDbb7+dV1991eVUIiLiSyprOVBMTAy1a9fmm2++ceYGDx7MzJkzyZcvn4vJst5DDz3E3/72NwBOnDjBv//9b5cTuat///788MMPABQoUIA5c+Y4S3SJiEhgUFnLYdavX0/dunXZt28fAEFBQUyZMoURI0bkiovJg4KC0pzyGzt2rHNUKbdZvnw5b7/9tjMeO3ZsjnnYsYiIZJzKWg5x+vRp3n//fRo3bszx48cBKFiwIEuXLqVHjx4up8teXbp04YYbbgDg0KFDzJo1y+VE2e/w4cNp1k1t2bIljz/+uIuJREQkq2htUD9jrWX//v1s27aN77//3vnas2cPqf9elSxZkhUrVuTadTLffPNNXnjhBcCzJNWuXbsIDg52OVX2SElJ4d5772XNmjUA3HDDDWzbto3rrrvO5WQiInKlLrU2qMqai86cOcOOHTv4/vvvnXK2bds2Tpw4ccmfq1ixIqtWreKWW27JpqT+59SpU5QrV845yjh37lzat2/vcqrsMX78ePr27euMP/74Yxo3buxiIhERuVqXKmu541CEy5KTk/nll1/YsWOH87Vt2zZ++uknUlJSMvQeefLk4dZbb+Wuu+5i+PDhlChRIotT+7dChQrRu3dvRowYAcDrr79Ou3btAv66ve+++44BAwY44+eff15FTUQkwPnFkTVjTANgpLW2gTGmODATKATEAo9aa08bY5oAw4AUYLa19pK3AbpxZM1ay2+//ZamlO3YsYOdO3dy9uzZDL9P0aJFqV69OtWrV6datWpUr16dypUrU6BAgSxMn/McPXqUcuXKER8fD8CKFSu49957XU6VdeLj4wkPDycmJgaAf/zj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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib\n",
    "# 以下 font.family 设置仅适用于 Mac系统，其它系统请使用对应字体名称\n",
    "matplotlib.rcParams['font.family'] = 'Arial Unicode MS'\n",
    "\n",
    "# 加载基础数据\n",
    "ts_data = pd.read_csv(\"http://image.cador.cn/data/arg_index.csv\")\n",
    "rows = ts_data.shape[0]\n",
    "plt.figure(figsize=(10,6))\n",
    "plt.plot(range(rows),ts_data.agr_index,'-',c='black',linewidth=3)\n",
    "plt.xticks(range(rows)[::3],ts_data.year[::3],rotation=50)\n",
    "plt.xlabel(\"$year$\",fontsize=15)\n",
    "plt.ylabel(\"$agr\\_index$\",fontsize=15)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "进一步，需要对数据进行差分运算，使差分后的数据变得平稳"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-3.3156652637567237,\n",
       " 0.01419259429184531,\n",
       " 1,\n",
       " 24,\n",
       " {'1%': -3.7377092158564813,\n",
       "  '5%': -2.9922162731481485,\n",
       "  '10%': -2.635746736111111},\n",
       " 161.9148847383757)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 此处预留10年的数据进行验证\n",
    "test_data = ts_data[(rows - 10):rows]\n",
    "train_data = ts_data[0:(rows - 10)]\n",
    "\n",
    "# 进行d阶差分运算\n",
    "d = 1\n",
    "z = []\n",
    "for t in range(d,train_data.shape[0]):\n",
    "    tmp = 0\n",
    "    for i in range(0,d+1):\n",
    "        tmp = tmp + (-1)**i*(np.math.factorial(d)/(np.math.factorial(i)*np.math.factorial(d-i)))*train_data.iloc[t-i,1]\n",
    "    z.append(tmp)\n",
    "\n",
    "# 使用单位根检验差分后序列的平稳性\n",
    "import statsmodels.tsa.stattools as stat\n",
    "stat.adfuller(z, 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从由于检验结果的P值为0.0142小于0.05，所以拒绝原假设，认为差分后的序列是平稳的。进一步编码对其进行Ljung_Box检验"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from statsmodels.stats.diagnostic import acorr_ljungbox as lb_test\n",
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")\n",
    "plt.plot(lb_test(z,boxpierce=True)[1],'o-',c='black',label=\"LB-p值\")\n",
    "plt.plot(lb_test(z,boxpierce=True)[3],'o--',c='black',label=\"BP-p值\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于Ljung-Box检验的P值都小于0.05，所以差分后的序列不能视为白噪声。因此，经过1阶差分，我们得到的序列是一个平稳非白噪声的序列。\n",
    "\n",
    "接着，需要对该模型定阶"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1008x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from statsmodels.graphics.tsaplots import plot_acf, plot_pacf\n",
    "plt.rcParams['axes.unicode_minus']=False  \n",
    "fig, axes = plt.subplots(nrows=1, ncols=2,figsize=(14,5))\n",
    "ax0, ax1 = axes.flatten()\n",
    "plot_acf(z, ax=ax0, lags=5, alpha=0.05)\n",
    "plot_pacf(z, ax=ax1, lags=5, alpha=0.05)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "基于该方法，对模型进行拟合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.3538461538461535"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 基于最小化残差平方和的假设，使用梯度下降法拟合未知参数\n",
    "miu = np.mean(z)\n",
    "miu"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "iter: 0  error: 2158.5528412123554\n",
      "iter: 1  error: 1629.117571439535\n",
      "iter: 2  error: 1378.697932325996\n",
      "iter: 3  error: 1235.2190474720771\n",
      "iter: 4  error: 1142.2965898571713\n",
      "iter: 5  error: 1076.8532240031996\n",
      "iter: 6  error: 1027.8924012002753\n",
      "iter: 7  error: 989.6669843636017\n",
      "iter: 8  error: 959.0297556396869\n",
      "iter: 9  error: 934.2431511645342\n",
      "iter: 10  error: 914.3556848351807\n",
      "iter: 11  error: 898.8045882009068\n",
      "iter: 12  error: 887.1262330459601\n",
      "iter: 13  error: 878.7756420117585\n",
      "iter: 14  error: 873.0924002584927\n",
      "iter: 15  error: 869.3887360432306\n",
      "iter: 16  error: 867.059724076036\n",
      "iter: 17  error: 865.6374177627687\n",
      "iter: 18  error: 864.789223133888\n",
      "iter: 19  error: 864.2924974052195\n",
      "iter: 20  error: 864.0052902835599\n",
      "iter: 21  error: 863.8406055985706\n",
      "iter: 22  error: 863.7466612310309\n",
      "iter: 23  error: 863.6932355186759\n",
      "iter: 24  error: 863.6629072021001\n",
      "iter: 25  error: 863.6457085003667\n",
      "iter: 26  error: 863.6359611808334\n",
      "iter: 27  error: 863.6304387805869\n",
      "iter: 28  error: 863.6273106338932\n",
      "iter: 29  error: 863.6255388979426\n",
      "iter: 30  error: 863.6245354749597\n",
      "iter: 31  error: 863.6239672060692\n",
      "iter: 32  error: 863.6236453845328\n",
      "iter: 33  error: 863.6234631328927\n",
      "iter: 34  error: 863.6233599221215\n",
      "iter: 35  error: 863.6233014731285\n",
      "iter: 36  error: 863.6232683731159\n",
      "iter: 37  error: 863.6232496284028\n",
      "iter: 38  error: 863.6232390131801\n",
      "iter: 39  error: 863.623233001729\n"
     ]
    }
   ],
   "source": [
    "theta1 = 0.5\n",
    "alpha = 0.0001\n",
    "epsilon_theta1 = 0\n",
    "errorList = []\n",
    "for k in range(60):\n",
    "    epsilon = 0\n",
    "    error = 0\n",
    "    for i in range(len(z)):\n",
    "        epsilon_theta1 = epsilon+theta1*epsilon_theta1\n",
    "        theta1 = theta1-alpha*2*(z[i]-miu+theta1*epsilon)*epsilon_theta1\n",
    "        epsilon = z[i]-miu+theta1*epsilon\n",
    "        error = error+epsilon**2\n",
    "    errorList.append(error)\n",
    "    print(\"iter:\",k,\" error:\",error)\n",
    "    # 当连续两次残差平方和的差小于1e-5时，退出循环\n",
    "    if len(errorList) > 2 and np.abs(errorList[-2] - errorList[-1]) < 1e-5:\n",
    "        break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.7940837640329033"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "theta1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "基于该模型，分析差分后序列对应的残差序列，检验是否为白噪声序列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAD7CAYAAAB37B+tAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deVxUZf//8dfF4oJIirilAu4TabmQWlpampWWaavGnZmmfc1MUzML6y67Kc27rLuyRC1TMNvUNDPNzFwr91xIJQOX3JcQkXU+vz+A+YGAojIcZubzfDzmEXPOcM5nEt5cc53rXJcREZRSSrkuL6sLUEopdWU0yJVSysVpkCullIvTIFdKKRenQa6UUi5Og1wppVxcsYLcGHOLMWZlIdtbGmNW5TxeLfnylFJKXcxFg9wY8zzwPlCukN0fAgNE5GagnTGmZQnXp5RS6iKK0yKPB+4/f6MxpjwQKCK7czYtBm4uwdqUUkoVg8/FXiAiXxtjQgvZVQ34J8/zZKDexY4XFBQkoaGFHU4ppVRRNm7ceFxEqhe276JBfgGngMp5nlcBThT2QmPMIGAQQHBwMBs2bLiC0yqllOcxxiQWte+yR62IyDngH2NMA2OMAe4CVhfx2mgRCReR8OrVC/2DopRS6jJdcovcGPMoUE5EpgNPAzMBAywTkU0lXJ9SSqmLKFaQi0gC0C7n61l5tq8HOjilMqWUUsVyJX3kSilVIjIyMjhw4ACpqalWl2K5ChUqULduXXx9fYv9PRrkSinLHThwgMqVKxMaGkr2JTfPJCKcOHGCAwcOUL9+/WJ/n96iX0bFxsYSGhqKl5cXoaGhxMbGWl2SUk6TmppKtWrVPDrEAYwxVKtW7ZI/mWiLvAyKjY1l0KBBpKSkAJCYmMigQYMAiIiIsLI0pZzG00M81+X8f9AWeRmTmZnJ6NGjHSGeKyUlhcjISIuqUkpdjr/++gu73Q5AcnIyu3btcsp5tEVugbS0NI4dO0bdunUBeP3111m9ejXx8fEkJCSQkZFR6Pft27evNMtUSl2hHj16cPfdd1O+fHkOHTrEpk2b6N69OwBjx47Fx6dkIlhb5BdxuX3V586dc3z9xRdf8OSTT9K5c2dCQ0OpWLEiHTt2dOzfunUrhw8fpkWLFowcORJ/f/9CjxkYGHhlb0YpN1HS15BWrFhB7969823r1KkTbdq0oWPHjrRp04YRI0Zc0jE3b95M3bp16d69O126dCEpKYnevXvTpUsXunTpgre39xXVnJe2yC+guH3Vv/zyC8uWLSM+Pp4///yT+Ph4Tp06xdmzZ/H29mbZsmXMmzePhg0b0qFDBxo1akSTJk2A7MCPioriwIEDHDx4kIMHDxbZIldKle41pJkzZ2Kz2RARbrvtNtavX88NN9xw0e8TEUaPHk3Pnj35448/eOONN6hevTp//fUXH374IaNGjaJDh5K7BUeD/AIiIyML7avu378/zzzzDDt27KBWrVr88MMPvPzyy9SpU4eGDRvSrVs3GjZsyOHDhzlx4gQ9evTghhtucAT1r7/+yty5cxk6dCgnT54sdj2X8lqlXNXw4cPZsmVLkft/+eUX0tLS8m1LSUlhwIABTJ06tdDvadGiBe+8885l15SWloaPjw916tQpsK958+a0a9eO3bt3U716dWbNmkVsbCzx8fGUL1/ecf6WLbNn+d66detl11EUDfILSEwsfI6a9PR0unXrxvr160lPT6d8+fIMHz6co0ePcvDgQX7++Wdmz55d4OKkMYaaNWtSp04dGjRowM0330ydOnWoW7cuderUcTyaN29e6LmDg4Od8j6VciXnh/jFtl+Jvn37UrFiReLj47HZbFSqVKnAa5KTkxkwYADt2rVj7NixREdHM2TIELy9vcnKygJgx44dnDiRPafgkSNH6Ny5c4nWqUF+AXn/Ic4XExNDTEyM43m5cuUcoXzDDTfQq1cvRzDnBnXt2rWLdbdWVFRUvo+OkH23V1RU1JW/KaXKuIu1nENDQwtt6ISEhLBixYoSrSW3a8Vut/PUU0/x5ptvUrduXT7//HMgu5unUqVKtGvXDoB27dqxePFifHx88g0j7NGjB127dgXgxx9/LNEaQYP8gooKcYCPPvrIEdB169Yt0ZsZcvv5IiMjSUxMxNfXl4kTJ+oYcqUovKHj5+fn1IaOl5cXQUFBiAiDBw9m8ODBjn1nz55l586dhIWFsWbNGq677roC33/8+HESEhIAOHbsGCEhISVanwb5BQQGBhbaLx0SEsKTTz7p1HNHREQQERFBp06dyMzM5Omnn3bq+ZRyFXkbOvv27SM4OJioqKgrbugsXbqU8PBwx/O///6bvn374ufnR3p6OlWrVuXTTz8t8H0i4hiw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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "error = []\n",
    "epsilon = 0\n",
    "for i in range(len(z)):\n",
    "    epsilon = z[i]-miu+theta1*epsilon\n",
    "    error.append(epsilon)\n",
    "    \n",
    "# 使用Ljung-Box检验error序列是否为白噪声\n",
    "plt.plot(lb_test(error,boxpierce=True)[1],'o-',c='black',label=\"LB-p值\")\n",
    "plt.plot(lb_test(error,boxpierce=True)[3],'o--',c='black',label=\"BP-p值\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "该模型可对未来1年的数据进行趋势预测，剩余年份只能等于序列均值了，同时绘制曲线与真实数据进行比较"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.745789901194965"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 基于该模型对差分后的序列进行预测\n",
    "predX = miu+np.mean(error)-theta1*epsilon\n",
    "predX"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "165.94578990119496"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 由于经过1阶差分的运算，所以此处需要进行差分的逆运算，以计算原始序列对应的预测值\n",
    "org_predX=train_data.iloc[-1,1]+predX\n",
    "org_predX"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "168.3897028849476"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#对超过1期的预测值，统一为 predXt\n",
    "predXt = org_predX+2.353846+1.7940838*np.mean(error)\n",
    "predXt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmsAAAGHCAYAAADvIhWAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeZzN9eLH8dfHzNjK3qSSpUTJ1r3G8iNGyJIrRfYsKSopSaGLsqUoWyJX9roo+75EJUtitCCjUHKzNYRmDGPMfH5/nOPbTAYznJnvmTPv5+Mxjzmfz/mec94jy7vv9jHWWkRERETEP2VzO4CIiIiIXJ7KmoiIiIgfU1kTERER8WMqayIiIiJ+TGVNRERExI+prImIiIj4sWC3A6SXm266yZYoUcLtGCIiIiJXtX379uPW2tCUngvYslaiRAkiIiLcjiEiIiJyVcaYXy/3nA6DioiIiPgxlTURERERP6ayJiIiIuLHVNZERERE/JjKmoiIiIgfU1kTERER8WMqayIiIiJ+TGVNRERExI+prImIiIj4MZU1ERERET+msiYiIiJyGXFxcSxfvtzVDCprIiIiIimIiIigUqVKNGnShA0bNriWQ2VNREREJIm4uDj69etHtWrV+OGHH7DW0rlzZ2JjY13JE+zKp4qIiIj4oYiICDp16sQPP/zgzOXOnZsePXqQM2dOVzJpz5qIiIhkeXFxcfz73/929qZdFB4ezo4dO+jevTvZsrlTm7RnTURERLK0bdu20alTJ3bv3u3M5c6dm+HDh9OtWzfXStpFrpY1Y0wwMBkoCeQA3gB6JtmkNPCxtbanMWY+cCtwHjhrrW2U0XlFREQkcMTFxTFo0CBGjBhBQkKCMx8eHs7UqVO58847XUz3F7f3rLUDYqy1NY0xNwHbrbXFAYwxxYCFwCDvtqWBitbaRHeiioiISKC43N60ESNG8Oyzz7q+Ny0pt5PMB/p5H/+9hI0FBlprTxljCgGFgKXGmA3GmMYZGVJEREQCQ1xcHK+++irVqlVLVtTCw8PZuXMnzz33nF8VNXB5z5q1NgbAGJMHmAcM8I7LA7daa5d6N80JjALGAAWBTcaYCGvtsaTvZ4zpCnQFKFasWIb8DCIiIpI5ZKa9aUm5nsoYUwRYC8yy1s70Tj8OfJhks2PABGvtBWvt78C3QKm/v5e1dpK1NsxaGxYaGpre0UVERCQTSEhIcK70zCx705JyNZkx5lZgDdDPWjs5yVMNgBVJxnXwnL92cS9cOWA3IiIiIlfRp08f3nzzTRITPWdc5c6dm/fee4/PPvvMby4iuBK3LzDoi+dctP7GmP7euUbALcCBixtZa9cYYxoYY7bgObetr7X2j4wOKyIiIpnLxx9/zMiRI52xv13pmRrGWut2hnQRFhZmIyIi3I4hIiIiLtm1axdVq1Z1lolq0qQJixYt8stDnsaY7dbasJSe87+0IiIiItfp1KlTPProo05RK1WqFB9++KFfFrWryXyJRURERK4gMTGR9u3bs2/fPgBuuOEGFixYQL58+VxOdm1U1kRERCSgDB06lGXLljnjqVOnUq5cORcTXR+VNREREQkYK1asYODAgc745ZdfpmXLlu4F8gGVNREREQkI+/fvp127dly8ePKBBx7gzTffdDnV9VNZExERkUzvzJkzPProo5w6dQqAokWL8vHHHxMc7PZdyq6fypqIiIhkatZaunbtys6dOwHInj078+fPJ1BWM1JZExERkUzt3XffZdasWc54/PjxVK5c2cVEvqWyJiIiIpnW+vXr6dWrlzPu0qULTz31lIuJfE9lTURERDKlQ4cO0bJlSxISEgCoUqUK48aNczmV76msiYiISKYTFxfHY489xu+//w5AaGgo8+bNI0eOHC4n8z2VNREREcl0evbsyZYtWwAICgri448/pmjRoi6nSh8qayIiIpKpTJs2jffff98ZjxgxggceeMDFROlLZU1EREQyje3bt/Pss88641atWtGzZ08XE6U/lTURERHJFI4dO0azZs2Ii4sDoFy5ckyZMgVjjMvJ0pfKmoiIiPi977//nipVqnDw4EEA8uXLx4IFC7jhhhtcTpb+VNZERETEry1cuJDq1as7RS1btmx89NFHlCpVyuVkGUNlTURERPyStZY33niDZs2aERsbC0DevHlZunQp//rXv1xOl3Ey/+qmIiIiEnDOnj1L586dmTNnjjNXsmRJlixZwr333utisoynsiYiIiJ+5dChQzzyyCNEREQ4c3Xq1OGTTz6hUKFCLiZzhw6DioiIiN/YunUrlStXTlbUnn32WVatWpUlixqorImIiIifmD17NuHh4Rw5cgTwrEwwfvx4JkyYQEhIiMvp3KOyJiIiIq5KTEykX79+tG3blnPnzgFQoEABVq9eTbdu3VxO5z6dsyYiIiKuiYmJ4fHHH2fx4sXO3D333MPSpUu56667XEzmP1TWRERExBUHDhygadOm7Nixw5lr2LAhc+bMIV++fC4m8y86DCoiIiIZbuPGjVSuXDlZUXvppZdYtmyZitrfqKyJiIhIhrHWMm7cOOrUqcPx48cBCAkJYcqUKYwcOZKgoCCXE/ofHQYVERGRDPH777/zxBNPsGLFCmcuNDSUBQsWcP/997uYzL+prImIiEi6W7NmDR06dODYsWPO3H333cfChQspUaKEe8EyAR0GFRERkXRz/vx5Xn75ZRo0aJCsqPXs2ZMtW7aoqKWCq3vWjDHBwGSgJJADGOJ9aixw0Pv4dWvtemNMX6CJd66XtXZLhoYVERGRNPnxxx9p27Yt33zzjTN38803M2PGDBo2bOhisszF7cOg7YAYa21NY8xNwHZgGtDXWvvJxY2MMfcCDwH3A8WA+UCYC3lFRETkKqy1TJ06lRdeeIHY2FhnvlGjRkybNo3ChQu7mC7zcfsw6Hygn/dxovd7JeAJY8wGY8xI7963msBq6/ErEGyMyetCXhEREbmCkydP0qpVK5566imnqGXPnp0xY8awbNkyFbVr4OqeNWttDIAxJg8wDxgAFASWAj8DE4FuwI3AqSQvjQEKAX8mfT9jTFegK0CxYsXSOb2IiIgktWHDBtq1a8f//vc/Z65MmTLMnj2bihUrupgsc3N7zxrGmCLAWmCWtXYmMNVau99aa4HFQAXgJJAnycvyAyf+/l7W2knW2jBrbVhoaGgGpBcREZELFy7w+uuvU7t27WRF7emnnyYiIkJF7Tq5WtaMMbcCa4B+1trJ3umdxpiLu8UeBLYCG4D63tfcAcRba//8+/uJiIhIxjpw4AC1atVi8ODBJCZ6zmgqWLAgCxYsYOLEieTOndvlhJmf2xcY9MVzOLO/Maa/d647MNcYEwf8AEyx1iYYYz43xmwAgoBn3YkrIiIiF23ZsoUGDRrw559/7T+pXbs2H374IbfffruLyQKL8RxtDDxhYWE2IiLC7RgiIiIBq0qVKmzbtg2AoKAghgwZQu/evbVk1DUwxmy31qZ4pwu396yJiIhIJnTgwAGnqIWEhLBhwwaqVq3qcqrA5PoFBiIiIpL5zJ8/33n84IMPqqilI5U1ERERSbO5c+c6jx977DEXkwQ+lTURERFJk4MHD/L1118DEBwcTNOmTV1OFNhU1kRERCRNFixY4DyuU6cOBQsWdDFN4FNZExERkTSZN2+e81iHQNOfypqIiIik2qFDh9i0aRPguV3HI4884nKiwKeyJiIiIqm2cOFC53Ht2rXR8o7pT2VNREREUk1XgWY8lTURERFJlaNHj7JhwwYAjDE8+uijLifKGlTWREREJFUWLlzIxWUqa9WqReHChV1OlDWorImIiEiq6CpQd6isiYiIyFVFRUXxxRdfAJ5DoM2aNXM3UBaisiYiIiJXtWjRIhITEwGoUaMGt912m8uJsg6VNREREbkqXQXqHpU1ERERuaITJ07w2WefOWMdAs1YKmsiIiJyRYsXLyYhIQGAatWqUbRoUZcTZS0qayIiInJFugrUXSprIiIiclknT55k7dq1zrh58+YupsmaVNZERETkspYuXUp8fDwAlStXpkSJEu4GyoJU1kREROSydBWo+1TWREREJEWnT59mzZo1zliHQN2hsiYiIiIpWrZsGefPnwfgH//4ByVLlnQ5UdaksiYiIiIp0lWg/kFlTURERC4RHR3NypUrnbHKmntU1kREROQSK1asIC4uDoAKFSpQunRplxNlXSprIiIicgldBeo/VNZEREQkmTNnzrBixQpnrLLmLpU1ERERSWblypWcPXsWgHvvvZcyZcq4nChrU1kTERGRZHQVqH8JdvPDjTHBwGSgJJADGALEAG8AF4DfgfbW2rPGmG3AGe9Lf7HWPuFCZBERkYB29uxZli1b5oxV1tznalkD2gEx1tqaxpibgO3AOaC2tfaIMWY48JQx5j9AsLW2totZRUREAt7q1as5c8azb6R06dKUK1fO5UTi9mHQ+UA/7+NE7/c61toj3scGzx628sANxphPjTHrjDHVMjiniIhIlpD0KtAWLVpgjHExjYDLe9astTEAxpg8wDxggLX2kHeuOVAHqAXcAYwEJgGlgFXGmNLW2gtJ388Y0xXoClCsWLGM+jFEREQCwrlz51i6dKkz1iFQ/+D2njWMMUWAtcAsa+1M71x34CXgIWttLLAXmG49fgKOA7f8/b2stZOstWHW2rDQ0NCM+yFEREQCwKeffkp0dDQAJUuWpGLFii4nEnD/AoNbgTVAD2vtWu/cv4EqQF1r7Tnvpp2ASsDT3nKXFzic8YlFREQC19+vAtUhUP/g9gUGfYFCQH9jTH/gZjyHObfjOdQJ8DEwBahpjNkIWOAJa21iym8pIiIiaXX+/HkWL17sjHUI1H+4fc5aD6BHKjdvn55ZREREsrJ169Zx+vRpAEqUKEGlSpVcTiQXuX7OmoiIiLjv72uB6hCo/1BZExERyeLi4+NZtGiRM9YhUP+isiYiIpLFff7555w8eRKAokWLUqVKFZcTSVIqayIiIllc0kOgzZs31yFQP6OyJiIikoX99ttvfPTRR85Yh0D9j8qaiIhIFvb6669z7pzntqb//Oc/qV69usuJ5O9U1kRERLKoXbt2MX36dGc8YsQIHQL1QyprIiIiWVTfvn1JTPTcY75BgwbUrVvX5USSEpU1ERGRLGj9+vUsX74cAGMMw4cPdzmRXI7KmoiISBZjraV3797OuH379lq03Y+prImIiGQx8+bNY+vWrQDkyJGDIUOGuJxIrkRlTUREJAs5f/48r776qjN+4YUXKFasmIuJ5GpU1kRERLKQSZMmsX//fgAKFCiQrLiJf1JZExERySL+/PNPBg8e7Iz//e9/U6BAARcTSWqorImIiGQRb7/9NlFRUQAUK1aM7t27u5xIUkNlTUREJAs4cuQIo0aNcsZDhw4lZ86cLiaS1FJZExERyQIGDhxIbGwsABUrVqRdu3YuJ5LUUlkTEREJcJGRkUyePNkZDx8+nGzZVAEyC/2XEhERCXCvvvqqs6xUvXr1qF+/vsuJJC1U1kRERALYxo0bWbx4sTMePny4FmvPZFTWREREApS1lldeecUZt23bln/+858uJpJrobImIiISoBYuXMiWLVsAyJ49O0OHDnU5kVwLlTUREZEAFB8fn2x1gueee4477rjDxURyrVTWREREAtDkyZP56aefAMiXLx/9+vVzOZFcK5U1ERGRABMTE8OgQYOc8auvvkqhQoVcTCTXQ2VNREQkwIwcOZJjx44BcPvtt/PCCy+4nEiuR5rKmjFmjNH1viIiIn7r6NGjvP3228548ODB5MqVy8VEcr3SumetDbDIGJM7pSeNMY2uP5KIiIhcq8GDB3PmzBkAypUrR4cOHVxOJNcrrWWtGnAXsMEYc+vFSWNMA2PMFmCZL8OJiIhI6v34449MmjTJGQ8fPpygoCAXE4kvpKmsWWt/AaoDx4GtxpjOxphNwErgT6C2zxOKiIhIqvTv35+EhAQAateuTaNGOuAVCNJ8gYG19jTwDlAA+ADIBfyftba+tXZDWt7LGBNsjJlujNlgjNlqjGlijClhjFlnjFlvjJlojAnybtvRGLPZ+/VwWnOLiIgEsr179zJ//nxnPGLECC0rFSDSeoFBQ2PMBmAVsBn4D3AvnkOj16IdEGOtrQk8BLwHDAfestaGe/M9bIwpCLwC1AEaAm8ZY7Jf42eKiIgEnHHjxmGtBaBRo0ZUrlzZ5UTiK8Fp3H4F8DkQbq3dCGCM+Q6YZowpba19PY3vNx9Y5H2c6P1eFWid5PNqAbHAV9bac8A5Y8xPwD3AjjR+noiISMA5deoUU6dOdcY9e/Z0MY34WloPg9a21ta9WNQArLWTgMbAC8aY2Wl5M2ttjLX2tDEmDzAPGACE2Iv/awAxQCHv16kkL704n4wxpqsxJsIYExEVFZWmH0xERCSzmjJlinMFaNmyZalXr57LicSX0nqBwZeXmf8UuB/PXrE0McYUAdYCs6y1M4H4JPdyyw+cAE4CeZK87OL833NMstaGWWvDQkND0xpFREQk07lw4QLjxo1zxi+++KLOVQswaT0MijEmFHgMKIbnCtBJ1toT1tofjDFpKmve23+sAXpYa9d6pyPwHPpcj2eP3RJgKzDcGBMC3ACUAn5Ma3YREZFAs2jRIn799VcAbrrpJtq1a+dyIvG1NJU1Y0wNPOeRnQH2ATWA1cAJY0x74CsgLccf++I5nNnfGNPfO/ccMM4YEwxEAkustQnGmLHAF97Mr1hr49KSXUREJBCNGTPGefzMM89otYIAZP46PSwVGxuzDdgPPO6dOg+EWWu/Mca8BdxmrfWLWyWHhYXZiIgIt2OIiIikm23btlGlShUAQkJCOHDgALfddpvLqeRaGGO2W2vDUnourRcYlAU+sNZeAP7e8rbiuWGuiIiIZICke9VatWqlohag0lrWDgF3XOa5KODWyzwnIiIiPnTo0CE++eQTZ/ziiy+6mEbSU1rL2ixgoDGmZArPlcBz1aaIiIikswkTJnDhwgUAatasSaVKlVxOJOklrWVtGJ6rML8BxuA5FJrXGPMPoB+eG+aKiIhIOoqNjWXixInOWHvVAlta77MWB9THU9paAgZYh+d2G7FAH18HFBERkeQ++ugj/vjjDwBKlChB06ZNXU4k6emqZc0Y85p3gfXiANbaBGvtcOAW4D48a3r+A6hsrT2crmlFRESyOGttsgsLXnjhBYKCglxMJOktNfdZaw+8DmCM+RP43vv1nff759ba8+mWUERERBxr1qwhMjISgDx58vDkk0+6nEjS21XLmrW2lHftzvvw7EF7Hs8KAxdd8C6s/h3wnbX2nXRJKiIiIsn2qnXu3Jm8efO6mEYyQqrOWbPWRltrNwA5gLNATaAwngI3zPv4UeCFdMopIiKS5UVGRrJq1SoAjDE8//zzLieSjJDWtUFfATpZazd5x1HADmPMODwXGoy77CtFRETkuowdO9Z53LRpU0qWTOlOWhJo0nrrjiAg998nrbUngCFAL1+EEhERkeROnDjBzJkznbFu15F1pLWszQVeM8bkT+G583hujCsiIiI+NmnSJM6ePQvAfffdR61ata7yCgkUaS1rrwBngL3GmEHGmH8aY243xtQF3gL2+DyhiIhIFhcfH897773njHv27IkxxsVEkpHSdM6atTbaGFMLeBXPVaH9vU8Z4Degk0/TiYiICPPmzePwYc+tTAsXLkyrVq1cTiQZKa0XGGCtjQcGG2OGAuXxLN5+Avhe91sTERHxLWsto0ePdsbdunUjR44cLiaSjJbmsnaRtTaRv26QKyIiIungq6++Ytu2bQDkyJGDZ555xuVEktHSXNaMMU2BUsBx4Adgl7X2rK+DiYiISPKb4LZr146bb77ZxTTihjSVNWPMJOBJ4CiQH8gFJBhjfgZ24DkUOtTnKUVERLKgX3/9lfnz5ztj3a4ja0rr1aAtgdestUWstTfg2cPWCpiN5x5sHX2cT0REJMt67733SExMBKBu3bqUL1/e5UTihrQeBo0GtlwcWGv3A/uBBb4MJSIiktXFxMTwwQcfOGPtVcu60rpnbTrQMB1yiIiISBLTp0/n9OnTAJQqVYqHHnrI5UTilrSWtd+ApsaYHsaYa76SVERERC4vMTEx2TqgPXr0IFu2tP6TLYEirYXrHeAGYDQw0BizAc+tO77Dc3HBPh/nExERyXJWrFjBvn2ef1Lz589Px446JTwrS2tZywvciedmuBW831vgWdEgmzHmjLU2j28jioiIZB3WWt555x1n3KVLF2688UYXE4nbrlrWjDHZvDfAxVpr8VxQsB9YlGSbnEA575eIiIhco1GjRrF+/XoAgoKC6N69u8uJxG2pOQB+whhzL4Ax5kljTGVjTK6kG1hrz1lrI6y109MjpIiISFbw5Zdf0qdPH2fcvXt3ihUr5mIi8QepOQz6EvCn9/EYIDeQmORGuDu933dYa39Ol5QiIiIB7siRI7Rs2ZKEhAQAqlWrxogRI1xOJf7gqmXNWjstyTClc9baAq/hOWctxlqbNz2CioiIBKr4+HhatmzJsWPHAAgNDWXu3Llkz57d5WTiD9J0gYHOWRMREfG9vn37snHjRgCyZcvG7Nmzuf32211OJf7CJzdtSemcNeMx1Rijg+0iIiKXMXfuXEaNGuWMhw4dSt26dV1MJP4mPe+wlw3PWqE3XW1DY0wtY8yX3sdzjTFfeL9+NsYs9M6PNMZ8k+S5fOmYXUREJN3t2bOHzp07O+OHH3442QUGIpD2+6yllbnqBsb0AdoBsQDW2hbe+bzA50BP76aVgIbW2t/TJ6qIiEjGiYmJoVmzZsTExABQsmRJZsyYoZUK5BL+8DtiH9A8hflBwHRr7QFjjAHuBv5jjNlojHkiQxOKiIj4kLWWLl26EBkZCUCuXLmYP38++fPndzmZ+CPX1/e01s43xpRIOmeMCQUaA2W9U7mBCcBIPAXzC2PMN9ba7//2uq5AV0D3pREREb81btw45syZ44wnTpxIxYoVXUwk/swf9qyl5DFgsbU23js+B4yy1sZaa2OAz/DcNiQZa+0ka22YtTYsNDQ0A+OKiIikzubNm+nVq5czfvrpp+nQoYOLicTf+WtZawCsSDK+C/jaGBNsjAkBagLbXUkmIiJyjY4dO0aLFi24cOECAGFhYYwdO9blVOLvUl3WjDEhxphdxpia6RnI604g8uLAWvsjMA34CvgSmGatjbzMa0VERHzqs88+Y8iQIaxfv95ZYSCtLly4QJs2bTh8+DAABQsWZN68eeTIkcOXUSUApfqcNWttvDHmZiBVt1O21iYYY+4ADqdi2wNAtSTjCilsMxLPOWsiIiIZ5pNPPqF169Z47gsPt9xyC82bN6dFixbcf//9BAUFpep9+vfvz+effw6AMYZZs2ZRvHjxdMstgSOth0FnA4+kdmNr7a9JzjsTERHJVD777DPat2/vFDWAo0ePMn78eGrXrs3tt99O9+7dr7rHbdGiRQwfPtwZDxw4kAYNGqRrdgkcJulvwKtubEwP4BVgCjDMWhuXXsGuV1hYmI2IiHA7hoiIZFLffvst4eHhREdHA1C0aFHi4uL4/feUb/d5uT1ue/fuJSwsjD///BOARo0asWzZMt1PTZIxxmy31oal+Fway1o0cIN3eAb4AvgG+B743lq7//qi+o7KmoiIXKuff/6Z6tWrOwurFylShM2bN1OkSBG+/PJL5s6dy/z5869Y3Nq2bUtoaCjnzp3j9OnTrFu3jujoaLZv307BggUv+9k7d+5k3bp1nD59mnz58lG3bl3Kl7/kBgg+fa1e59vXXQtfljWD5+T/8kAF7/fyeK7WzAbEWGvzXndiH1BZExGRa/H7779To0YN9u3bB0D+/PnZuHEjZcuWTbZdQkICGzZs4JNPPrmkuJUvX54mTZqQPftfp3mfP3+eqlWr8vDDD1/2s3fu3MnSpUuJj//rDKKQkBCaNGly1ZJwra/V63z7umt1pbKWpn2w1mO/tXaRtXawtbaFtfYe4EagCvCCD/KKiIi4Ijo6moceesgpajlz5mTp0qWXFDWAoKAgateuzYQJEzh8+DCff/453bp1o3DhwtStWzdZUQPInj07P//88xU/f926dcnKAUB8fDzr1q27avZrfa1e59vXpYc0rWBgjIkEvsN72BPYYa09ZK09B0R4v0RERDKd8+fP06xZM7Zv99zGM1u2bMyZM4d8+fIxZsyYKx4Ku1jcateuzbvvvsvQoUNT/IzTp09fMcPlnr/a667ntXqdb1+XHtJ6duOHQFVgGLAcOGiMOW6MWWeMGWmMecQYk6pbe4iIiPiLxMREOnXqxNq1a525iRMncuedd7J06VLnH+jTp0+zdOlSdu7cedn3CgoKIl++fCk+d7n5qz1/tdddz2v1Ot++Lj2ktawlAn8CtYCiwP8Bw/Esst4JmIynwKW0MLuIiIjfsdby8ssvM3v2bGdu8ODBdOnS5ZoPhdWtW5eQkJBkcyEhIdStWzddXufGZ+p1GSetC7m/BHSy1m70jg8BW40xk4BPgaFACeC/xphT1tqMP7ArIiKSBu+88w6jR492xt26daN///7AtR8Ku3iYNK1XEl7r69z4TL0u46T1atA/gOestbNTeO5R4FVrbRVjzHjgXmvtA76Lmja6GlRERK5m5syZdOzY0Rk3b96cjz/+2LlH2sVz1f4uX758vPjiixmWUwKfz64GBRYCrxljCqXwXDxw8XKZFUCKHygiIuIPVq5cSefOnZ1xeHg4H330UbLlo/zpUJhkXWk9DPoysBbYb4wZBSwDfsdzn7VhwB7vducB46uQIiIivvT111/z2GOPOUtEVahQgcWLF5MzZ85k2/nToTDJutJU1qy1J40x/we8CnQHXvc+ZYD/AY95x2HAL74KKSIi/ikxMZFNmzaxatUqcuTIwSOPPEL58uXx3EPdP/344480btyY2NhYAIoXL87KlSsve5Vf+fLlVc7EVWk6Zy3ZCz1/EisCtwDH8Sw3Fe99LhzIba1d6augaaVz1kRE0sfFgjZ37lzmzZvHkSNHkj1fpkwZ2rRpQ6tWrShdurRLKVN2+PBhqlevzq+//oWvzBkAACAASURBVApAoUKF2LRpE3fffbfLySSr89lyU943CwZKArHW2v/5IF+6UFkTEfGdqxW0y/nnP/9J69atadmyJcWLF0/nlFf2ww8/0LJlS3bv3g1A7ty5+fzzz6lSpYqruUTAt2uDVsNzkcHN3qlYYCd/rWjwvbX2q+uL6xsqayIi1ye1Be2mm26iWbNmREdHs3jxYufw4t9Vr16d1q1b06JFC2655Zb0jJ5MfHw8w4cPZ/Dgwc4904KDg1m6dCkNGzbMsBwiV+LLsrYZOAz0AyKB94EyQG08N8w11tqgy75BBlJZExFJu7QUtObNm9OiRQvCw8MJDvacAn3mzBmWL1/OnDlzWLFiBXFxcZe8Nlu2bNSuXZvWrVvTrFkzChVK6QYDvvHtt9/SuXNnvvvuO2cue/bsTJs2jbZt26bb54qklS/LWjSeiwjW4rlVR5i19htjTENgFPCUtXazDzJfN5U1EZHUs9Yye/Zs+vTpw2+//ZbiNqGhoTRr1uySgnY5p0+fZtGiRcyZM4dPP/3UufIyqeDgYBo2bEi3bt1o0KAB2bKl9Y5SKYuLi2PIkCG89dZbyT63atWqTJ06lXvvvdcnnyPiK74sa8eBx6y1XxhjYoCmF1cpMMb0Ae6z1rbxRejrpbImIpI6hw4d4tlnn2Xp0qWXPJfWgnY5x48fZ/78+cyZM4f169eT0r89pUqV4vnnn6dTp07kyZPnmj4HYMuWLXTu3JnIyEhnLmfOnLzxxhv06NEj2X3URPyFL8vaemC6tXaaMWYHMNVaO8b7XB1gvrW2gC9CXy+VNRGRK7PWMnXqVHr16pXsLv2XO8TpK4cPH2bu3LnMmTOHLVu2XPJ8njx56Ny5M927d+euu+5K9fvGxsYyYMAARo8enawM1qpVi8mTJ1OqVCmf5BdJD1cqa1hrU/0FtAWGeh/3Bg7iuadaPmAGcCgt75eeX5UqVbIiIpKyX375xdarV88Cyb66detm//zzzwzLsXfvXtuzZ0+bN2/eS7IYY2zjxo3t6tWrbWJi4hXf54svvrAlS5ZM9vobb7zRjh8/3iYkJGTQTyNy7YAIe5lOcz33WcsJrATCk/zh6GatnXRNb+hj2rMmInKpxMRE3n//ffr06cOZM2ec+ZIlSzJlyhTCw8NdyRUTE8PMmTMZN24ce/bsueT5e+65h+eff54OHTpw4403OvPR0dH06dOH999/P9n29evXZ9KkSa7fLkQktXx6n7UU3jwcKAJ8Y6299E+YS1TWRESS27t3L08++SQbNmxw5rJly0bPnj0ZPHgwuXPndjGdR2JiImvXruXdd99l+fLllzyfL18+OnfuzHPPPce+ffvo2rUrBw8eTPb86NGj6dSpk1+voiDyd+la1vyVypqIiEdCQgKjR49mwIABnDt3zpkvU6YMU6dOpVq1ai6mu7y9e/cyfvx4pk6dSnR0dLLnjDGXXKTQpEkTJk6cyG233ZaRMUV84kplzTfXSIuIiF/64YcfqF69Oq+88opT1IKCgujXrx/ffvut3xY18FwdOmbMGA4dOsS4ceOSLV2VtKgVKlSIWbNmsXjxYhU1CUgqayIiASg+Pp6hQ4fyj3/8g61btzrzFStWZNu2bQwdOpQcOXK4mDD18uTJQ/fu3YmMjGTlypU0atTIee7i8lFt2rTRYU8JWDoMKiISYPbt28djjz3G999/78xlz56d1157jd69exMSEuJiOt/49ddfiYmJoWzZsm5HEfGJKx0G9e3Nc0RExFUxMTE0btyYn376yZmrUqUKU6dODahio6s8JSvRYVARkQDy3HPPOUUtR44cvPPOO2zevDmgippIVuMXZc0YU8sY86X3cXljzGFjzBfer1be+Y7GmM3er4fdTSwi4n9mzJjBzJkznfEHH3xAr169tLySSCbn+mFQ75qi7YBY71QlYIy1dkSSbQoCr+BZLSE7sMUYs8paez6j84qI+KM9e/bQrVs3Z9yxY0fat2/vYiIR8RV/2LO2D2ieZFwJaGSM+dIYM8UYkweoDHxlrT1nrf0T+Am4x4WsIiJ+5+zZs7Rq1YrYWM//895999289957LqcSEV9xvaxZa+cD8UmmIoDe1tpawM/AIKAQcCrJNjHeuWSMMV2NMRHGmIioqKh0TC0i4j969erFjh07AM95ap988kmyJZlEJHNzvaylYKG1dtvFx0AF4CSQJ8k2+YETf3+htXaStTbMWhsWGhqa/klFRFw2f/78ZOtijh49mgoVKriYSER8zR/L2ipjzP95Hz8IbPV+VTfGhBhj8gOlgB/dCigi4g9++eUXnnzySWfcvHlznnnmGRcTiUh6cP0CgxQ8B4wzxlwAjgJdrLXRxpixwBd4Mr9irY1zMaOIiKvi4+Np06YNp0+fBqBEiRJMnjxZd/EXCUB+UdastQeAat7H3wL3p7DNFGBKxiYTEfFP/fr14+uvvwYgODiYOXPmkD9/fpdTiUh68MfDoCIicgUrV67k7bffdsbDhg2jatWqLiYSkfSksiYikokcPnyYDh06OONGjRrRq1cvFxOJSHpTWRMRySQSEhJ4/PHHOX78OAC33norM2bMIFs2/VUuEsj0J1xEJJN44403+PzzzwEwxvDf//4X3aZIJPCprImIZALr169n0KBBznjAgAE88MADLiYSkYyisiYi4ueOHz9O27ZtSUxMBKBWrVoMGDDA5VQiklH84tYdIiKB5sKFC3z77bds3LiRDRs2sGvXLgoXLkyZMmUoU6YM9957L2XKlKFo0aJXvDeatZZOnTpx+PBhAAoVKsSsWbMIDtZf3yJZhf60i4j4wJkzZ9iyZYtTzrZs2cKZM2eSbbN37142btyYbO6GG25wClzSEnfnnXcSHBzM6NGjWb58ubP9jBkzKFKkSIb8TCLiH1TWRESuQVRUFBs3bnTK2TfffENCQkKa3+fMmTNEREQQERGRbD579uyULl2aH3/8a2W9l156icaNG193dhHJXFTWRERS6bvvvmPChAls2LCBPXv2XHX7YsWKcf/991OzZk0qV65MVFQUkZGRREZGsnv3biIjI/njjz9SfO358+fZtWuXM65cuTJvvvmmz34WEck8VNZERFJh6tSpPPvss5w/f/6y25QrV84pZ/fffz/FihW7ZJuGDRs6j621ToG7WN4ufh06dMjZrkCBAsyZM4fs2bP79ocSkUxBZU1E5AouXLhAr169ePfdd5PNh4SEULlyZaecVa9enYIFC6bpvY0x3Hzzzdx8882Eh4cne+706dPs2bOHgwcP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s9bSvXt3JkyY4MwNGTKE/v37u5hKRETSU2bbsyZyTTp27EjZsmUBiImJYfDgwS4nujZDhgxJVtSef/55+vXr52IiERFxk8qaBIzg4GCGDx/ujP/zn//w448/upgo7SZOnMjrr7/ujFu3bs2YMWN0QYGISBamsiYB5aGHHqJ27dqA57yvf//73+4GSoN58+bRrVs3Z1y/fn1mzJhBtmz6YyoikpXpXwEJKMYYRowY4YwXLFjA5s2bXUyUOp999hnt2rXj4jmklStXZv78+VqhQEREVNYk8FSuXJnWrVs741deeQV/vpBm+/btNG3alPPnzwNw9913s3z5cm688UaXk4mIiD9QWZOANGzYMEJCQgDYvHkzixYtcjlRyvbu3UujRo2IiYkBPDe9Xb16NaGhoS4nExERf6GyJgHpjjvuoHv37s64b9++xMfHu5joUocPH6Z+/fpERUUBUKBAAVavXk3x4sVdTiYiIv5EZU0CVr9+/ciXLx8AP/30Ex988IHLif5y6tQpGjZsyIEDBwDIlSsXy5Ytc249IiIicpHKmgSsQoUKJbsadODAgURHR7uYyOPs2bM0adKEnTt3AhAUFMTcuXOpXr26y8lERMQfqaxJQHv++ecpWrQoAFFRUbz99tuu5rlw4QKtW7dm48aNztzUqVNp3Lixi6lERMSfqaxJQMuVKxdDhw51xiNHjuTw4cOuZLHW8vTTT7NkyRJn7p133qFDhw6u5BERkcxBZU0CXrt27ahYsSIAsbGxDBw4MEM/Pz4+njlz5lC9enWmTp3qzPfu3ZtevXplaBYREcl8VNYk4AUFBSU7/DllyhR2796d7p8bFRXF0KFDKVGiBG3atGHLli3Oc506deKtt95K9wwiIpL5qaxJlvDggw9Sv359ABITE+nbt2+6fdY333zDE088QdGiRRkwYECyw64hISF0796dDz74QOt9iohIqqisSZYxfPhwpyAtXbqU9evX++y94+PjmTt3LjVr1qRSpUpMnz6duLg45/nChQszcOBADh48yLhx4wgODvbZZ4uISGBTWZMs47777qN9+/bO2BfLUB0/fpw333yTO++8k5YtWya7yhM8S1999NFHHDx4kNdff51bbrnluj5PRESyHuPPayZej7CwMBsREeF2DPEzBw8epHTp0s5erzlz5tCqVas0vUdCQgLff/8948eP57//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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制出原始值和预测值\n",
    "plt.figure(figsize=(10,6))\n",
    "plt.plot(range(rows),ts_data.agr_index,'-',c='black',linewidth=3)\n",
    "plt.plot(range(train_data.shape[0],ts_data.shape[0]),[org_predX]+[predXt]*9,'o',c='gray')\n",
    "plt.xticks(range(rows)[::3],ts_data.year[::3],rotation=50)\n",
    "plt.xlabel(\"$year$\",fontsize=15)\n",
    "plt.ylabel(\"$agr\\_index$\",fontsize=15)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对以上代码进行改进，使用最新的结果修正误差，以得到可靠的预测结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmsAAAGHCAYAAADvIhWAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzde5zN1f7H8deaGQblHikx4zgqijo15BAm5JKiCKEkyimUpKhwiqijQkzKb3I/KbnkVkRyyZ2RQqnQYcolEjKGua7fH98924yZYYY9+zuX9/PxmMfea32/+7s/03ngfdb3u9Yy1lpEREREJHcKcLsAEREREcmcwpqIiIhILqawJiIiIpKLKayJiIiI5GIKayIiIiK5mMKaiIiISC4W5HYBOeWqq66yoaGhbpchIiIiclFbt279w1pbLqNj+TashYaGEhUV5XYZIiIiIhdljNmf2THdBhURERHJxRTWRERERHIxhTURERGRXExhTURERCQXU1gTERERycUU1kRERERyMYU1ERERkVxMYU1EREQkF1NYExEREcnFFNZEREREcjGFNREREZFMxMXF8fnnn7tag8KaiIiISAaioqK4/fbbue+++1izZo1rdSisiYiIiKQSFxfHoEGDqFu3Lt9//z3WWrp3705sbKwr9QS58q0iIiIiuVBUVBTdunXj+++/9/YVK1aMvn37UqRIEVdq0siaiIiIFHhxcXG8/PLL3tG0FI0aNWL79u306dOHgAB3YpNG1kRERKRA27JlC926deOHH37w9hUrVoyRI0fSq1cv10JaCle/3RgTZIyZaoxZY4zZbIxpY4xZlernoDFmjOfcucaY9Z7+JW7WLSIiInlfymjaP//5zzRBrVGjRuzYsYM+pUsT8Le/QUAAhIbCjBmu1On2yFoXIMZa28AYcxWw1VobAmCMqQzMA4Z6zr0euMVam+xOqSIiIpJfZDaa9uabb/LUU08R8PHH0LMnpEwq2L/faQN06eLXWt1+Zm0uMMjz/vwQNhZ41Vp7whhTFigLLPKMwrXyZ5EiIiKSh82Y4YyMBQRgQ0KY2bo1devWzXA0rXf37gQkJMCgQeeCWorYWKffz1wdWbPWxgAYY4oDc4AhnnZN4Bpr7SLPqUWA0cA7QBlgnTEmylr7e+rrGWN6Aj0BKleu7JffQURERHKxGTPSjJCZ6GhaR0fTEdgIDAoKoskNNxBy/DimTh04dgzmzYPo6Iyvl1l/DnJ7ZA1jTEVgOfCRtXa6p/th4L+pTvsdeM9am2itPQJsA6qdfy1rbaS1NsxaG1auXLmcLl1ERERyuwxGyIoBrwMNwsJ4tGRJQoODMSEh0KEDDB8ON94ImQ36uDAY5OrImjHmGmAZ0NdauzzVoebAA6najYH+QHPPKNzNwA+IiIiIXEgmI2EhwJRNmzKf6TliRNpn1gCKFXP6/cztkbUXcZ5FG5xqBmhRoAKwL+Uka+0yYKcxZiOwFHjRWvunGwWLiIhI3nG6bNkM+01IyIWX5OjSBSIjISQEjHFeIyP9PrkAwFhr/f6l/hAWFmajoqLcLkNERERcsnPnTkbddhsTEhIITn2gWDHXgldmjDFbrbVhGR1ze2RNRERExOdOnDjBAw88wNSEBB4DDgQFYV0eIbtUbq+zJiIiIuJTycnJPPLII+zZs4e/AZ8VK8bLmzZR8eab3S7tkiisiYiISL4yfPhwPvvsMwywAuAf/yAkjwY1UFgTERGRfGTx4sW8+uqrADTEmfVJr14uVnT59MyaiIiI5At79+6lS5cupEyeHHDNNdgrr4T773e5ssujsCYiIiJ53unTp3nggQc4ceIEANUqVqTFqVOY9u2d2Z95mMKaiIiI5GnWWnr27MmOHTsAKFy4MIt79yYgJga6dnW5usunZ9ZEREQkTxs3bhwfffSRtz1+/Hj+/thjUKcONGzoYmW+obAmIiIiedbq1avp37+/t/3EE0/w+OOPO40mTVyqyrd0G1RERETypAMHDtChQweSkpIAqFOnDhERETB5MrzwAiQmulyhbyisiYiIiH/NmAGhoRAQ4LzOmJHtS8TFxfHggw9y5MgRAMqVK8ecOXMIDg6GcePg668hKH/cQMwfv4WIiIjkDTNmQM+eEBvrtPfvd9qQrS2g+vXrx8aNGwEIDAzkk08+oVKlSvDdd87Pu+/6unLXaGRNRERE/GfQoHNBLUVsrNOfRVOmTOH999/3tt98803uuusup/Hf/zojah07+qLaXEFhTURERPwnOjp7/efZunUrTz31lLfdsWNH+vXr5zQSE52Ru1at4KqrLrfSXENhTURERPyncuXs9afy+++/07ZtW+Li4gC4+eabmTRpEsYY54STJ6FpU+jRw1fV5goKayIiIuI/I0akf/A/ONjpv4DvvvuOOnXqEO0ZgStZsiSffvopV1xxxbmTypZ1boPed5+vq3aVwpqIiIj4T+fOULIkFC0KxjjBrWRJaNs204/MmzePevXqeYNaQEAAH374IdWqVTt3UkwM7NyZ09W7QmFNRERE/Ofnn+HYMRg9GpKTYelSOHIExo9Pd6q1lhEjRtC2bVtiPZMSSpQowaJFi7j33nvTnjx7NtSsCdu2+eO38Cst3SEiIiL+88UXzmvz5s5r48awYAG0aJHmtDNnztC9e3dmzpzp7atatSoLFy6kRo0a6a87fTpUqwa33ppTlbtGI2siIiLiP0uXOqGqSpVzfa1bQ+HCcOoUJCZy4MABGjZsmCaoNW7cmE2bNmUc1Pbvh1Wr4JFHnFur+YxG1kRERMR/nn7aCWXnO3QIatdmf/v2/POTTzh06JD30FNPPcXYsWMpVKhQxtdM2QHh4YdzoGD3KayJiIiI/7RsmXF/hQocKF+eq955h2BPV2BgIOPGjaNXr14XvuacOdCwYdrRunxEYU1ERET846uvoHRpuO22NN3JyckMGTKE6du28QPwPtC5VClmz5lDkyZNLn7d1avh8OEcKTk3UFgTERER/+jXz9lZYMUKb1dMTAwPP/wwCxYsAOBlIAL4YfBgKmQlqAEUL+785FOaYCAiIiI57+BB2LHj3CxQYN++fdSvX98b1AB+ad6cxLAwKmzdevFrxsdDkyawZElOVJxrKKyJiIhIzlu2zHn1LNGxdu1aateuzfbt272nPPfccyz8/HOCli07N2ngQpYscUbprM2JinMNhTURERHJeUuXQoUK2Jo1iYiIoHHjxvzxxx8AFCpUiEmTJjFq1CgCAwOd59qMcTZ337Il82tOnw7ly0OzZn76JdyhZ9ZEREQkZ1kLa9ZwpmFDHrzvPhYvXuw9VK5cOT799FPuvPPO9J9p1w7++MPZRir1HqAAf/4JixZBnz7p9xrNZzSyJiIiIjnLGJa/9x51VqxIE9RuvfVWNm/enD6oeT7D6NGwbx+88kr647NmQUICdO2ac3XnEgprIiIikmPi4+N5/vnnubtNG3Z6bnsC9OvXj40bNxIaGpr5hxs0gJ49YcwYiIpKeywkBB5/HG65JWcKz0WMdfGhPGNMEDARqAoEA695Do0Foj3vX7HWrjbGvAjc5+nrb63deKFrh4WF2ajz/4cVERERv/npp5/o3LkzT3zzDVtx/sEvX74806ZNo8V5e4Fm6sQJqFEDrr4aNm+GzHYxyOOMMVuttWEZHXP7Jm8XIMZa28AYcxWwFZgCvGitnZVykjGmBnAPcCdQGZgLZPgLiYiIiLustUyePJlnnnmGoNhYHgeOAS1btmTKlClcffXVWb9YqVLw7ruweDHExTlhbcMG+NvfnABXALh9G3QuMMjzPtnzejvwmDFmjTFmlGf0rQGw1Dr2A0HGmBIu1CsiIiIXcPz4cTp27Mjjjz9ObGwsTXBGhq5/+mk+++yz7AW1FG3bwsSJsGCBc/uzXj0IDc3a8h75gKsja9baGABjTHFgDjAEKAMsAn4BJgC9gCuBE6k+GgOUBf5KfT1jTE+gJ0DlypVzuHoRERFJbc2aNXTp0oVff/3V2/dQqVIkJSTQftQoCLiMMaIZM5xn1M6eddpnzzrPswF06XIZVed+bo+sYYypCCwHPrLWTgcmW2v3WudhugVALeA4kHofiVI4I6ppWGsjrbVh1tqwcuXK+aF6ERERSUxM5JVXXiE8PDxNUPtXz548WKIEgU2bXv6zZoMGnQtqKWJjnf58ztWRNWPMNcAyoK+1drmne4cxpoG1Nhq4G9gMrAfGAf8xxlQBEqy1f2V4UREREfGbffv20blzZzZs2ODtK1OmDBMnTuSBu++GQ4fg/vsv/4uio7PXn4+4PcHgRZzbmYONMYM9fX2A2caYOOB7YJK1NskYs9IYswYIBJ5yp1wRERFJsXHjRpo3b85ff50bPwkPD+e///0v1113ndOxcKFvvqxyZdi/P+P+fM7VpTtykpbuEBERyVl16tRhi2c7qMDAQF577TUGDBjgbBkFcPIklCzpmy+bMcN5Ri029lxfsWIQGZkvnlm70NIdrj+zJiIiInnPvn37vEGtUKFCrFu3jpdeeulcUDt7Fq69FkaM8M0XduniBLOQEGd3g5CQfBPULsbt26AiIiKSB82dO9f7/u677+aOO+5Ie8Latc4o2K23+u5Lu3QpEOHsfBpZExERkWybPXu29/2DDz6Y/oSlS6FwYQgP919R+ZTCmoiIiGRLdHQ0mzZtAiAoKIg2bdqkP2npUrjzTrjiCj9Xl/8orImIiEi2fPrpp973jRs3pkyZMmlPOHgQduyA5s39XFn+pGfWREREJFvmzJnjfZ/hLdArroAPPoC77vJjVfmXlu4QERGRLDtw4IB3DbXAwEAOHTqEdg26fFq6Q0RERHxi3rx53vfh4eHpg1pSEkya5OxcID6hsCYiIiJZdtFZoN9842y4vnKlH6vK3xTWREREJEsOHz7MmjVrADDG8MADD6Q/aelSZ9Hau+/2c3X5l8KaiIiIZMm8efNIeda9YcOGXH311elPWroUbrsN9BybzyisiYiISJZcdBboyZOwYQO0aOHHqvI/hTURERG5qKNHj7Jq1SrAuQXatm3b9Cdt2uRMMND6aj6lddZERETkoubPn09ycjIA9evX59prr01/UrNmzizQq67yc3X5m8KaiIiIXNRFZ4GmqFDBD9UULLoNKiIiIhd07NgxVqxY4W1neAt09264917YudOPlRUMCmsiIiJyQQsWLCApKQmAunXrUqlSpfQnLVkCn3+ujdtzgMKaiIiIXNBFZ4GCs2RHtWpQpYqfqio4FNZEREQkU8ePH2f58uXedrt27dKfFBcHq1ZpFmgOUVgTERGRTC1atIiEhAQAateuTWhoaPqT1q6F2FiFtRyisCYiIiKZytIs0KQkqF8fwsP9U1QBY1K2jchvwsLCbFRUlNtliIiI5FknT56kfPnyxMfHA7Bnzx6qVq3qclX5kzFmq7U2LKNjGlkTERGRDH322WfeoPaPf/wj46AWG+v8SI5RWBMREZEMXXQW6IwZULmys1xHxYpOW3xOOxiIiIhIOqdOnWLJkiXedrqwNmMG9Ox5blTt4EGnDdCli5+qLBg0siYiIiLpLF68mLi4OABq1arF9ddfn/aEQYPS3/6MjXX6xacU1kRERCSdi84CjY7O+IOZ9cslU1gTERGRNE6fPs3ixYu97QzDWuXKGX84s365ZAprIiIiksaSJUs4c+YMADVq1KB69erpTxoxAooUSdtXrJjTLz6lsCYiIiJpZGkv0C5dYOJECAkBY5zXyEhNLsgBrs4GNcYEAROBqkAw8BoQA4wAEoEjwCPW2jPGmC3Aac9H/2etfcyFkkVERPK1M2fO8Nlnn3nbGYa1I0egTx8YOhT27fNfcQWU2yNrXYAYa20D4B7gXWAC0M5a2xDYCzxujCkMBFlrwz0/CmoiIiI5YOnSpZw+7YyNXH/99dx8883pT/rgA5g92xlRkxzndlibC6TM8U32vDa21h7yvDc4I2w1gSuMMV8aY74yxtT1c50iIiIFQupZoO3bt8ecH8gSEuC996BZM7jxRj9XVzC5ehvUWhsDYIwpDswBhlhrD3j62gGNgYZAFWAUEAlUA74wxlxvrU1MfT1jTE+gJ0BlzUYRERHJlrNnz7Jo0SJvO8NboJ9+6iyA+3//58fKCja3R9YwxlQElgMfWWune/r6AM8B91hrY4HdwFTr+Bn4A6hw/rWstZHW2jBrbVi5cuX890uIiIjkA19++SWnTp0CoGrVqtxyyy3pT4qIgKpV4Z57/FxdweX2BINrgGVAX2vtck/fy0AdoIm19qzn1G7A7cC/POGuBHDQ/xWLiIjkX+fPAk13CzQpCZo0cWZ+Brg+3lNgGGute19uzFigI/Cjp6s8zm3OrUBKUPsEmOT5qQJYYIC1dsOFrh0WFmajoqJyomwREZF8Jz4+nvLly3Py5EkAtmzZQlhYmMtVFRzGmK3W2gz/g7v9zFpfoG8WT38kJ2sREREpyL766itvUAsNDeX2229Pe8Iff8CaNdC6NQQGulBhwaUxTBEREUm3F2i6W6CRkdC2Lfz8s58rE4U1ERGRAi4hIYH58+d72+lmgSYkwPvvQ9OmkNHWU5KjXL0NKiIiIu5buXIlx48fB6BSpUrUqVMn7Qnz58Nvv8H48S5UJxpZExERKeBS3wJt165d+lugERFQpQq0auXnygQU1kRERAq03377jQ8//NDbTncL9MQJOHAAevfWxAKX6DaoiIhIAfbKK69w9qyzWtZtt91GvXr10p5QqpQzqSAxMYNPiz8orImIiBRQO3fuZOrUqd72m2++mfYW6OnTzmhakSIaVXORboOKiIgUUC+++CLJyckANG/enCZNmqQ9Ydw4qFQJ/vzTheokhcKaiIhIAbR69Wo+//xzAIwxjBw5Mu0JiYnOch233AJlyrhQoaRQWBMRESlgrLUMGDDA237kkUfSb9q+YAH8+is8/bSfq5PzKayJiIgUMHPmzGHz5s0ABAcH89prr6U/adw4CA2Fe+/1b3GSjsKaiIhIARIfH89LL73kbT/zzDNUrlw57Um7dsHXX2u5jlxCs0FFREQKkMjISPbu3QtA6dKl0wQ3rxtvdDZtv+kmP1cnGVFYExERKSD++usvhg0b5m2//PLLlC5dOv2JxsCdd/qxMrkQ3QYVEREpIN566y2OHj0KQOXKlenTp0/6kyIioFcvLYKbi2hkTUREpAA4dOgQo0eP9raHDx9OkSJF0p6UmAhvvw1Vq0KQIkJuoZE1ERGRAuDVV18lNjYWgFtuuYUuXbqkP2nhQoiOhmee8XN1ciEKayIiIvncrl27mDhxorc9cuRIAgIyiAARERASAvfd58fq5GIU1kRERPK5l156ybutVNOmTWnWrFnaE2bMgGuvhVWr4ORJmDnT/0VKpnRDWkREJB9bu3YtCxYs8LZHjhyZdrP2GTOgZ0/w3CLlxAmnDZDRrVLxO42siYiI5FPWWl544QVvu3Pnztx2221pTxo06FxQSxEb6/RLrqCwJiIikk/NmzePjRs3AlC4cGGGDx+e/qTo6Iw/nFm/+J3CmoiISD6UkJCQZneC3r17U6VKlbQnJSVBcHDGFzh/CypxjcKaiIhIPjRx4kR+/vlnAEqWLMmgjG5rDhgAZ89C4cJp+4sVgxEj/FClZIXCmoiISD4TExPD0KFDve2XXnqJsmXLpj1p8mQYPdpZU23yZGfJDmOc18hITS7IRTQbVEREJJ8ZNWoUv//+OwDXXXcdz5y/yG1yMkydCnffDaNGObsVKJzlWtkKa8aYd4B+1lqbQ/WIiIjIZTh8+DBvvfWWtz1s2DCKFi2a9qSAAFi2DOLitK1UHpDd26CdgPnGmGIZHTTGtLz8kkRERORSDRs2jNOnTwNw880307Vr13MHY2Kc254nTkCRIlCypEtVSnZkN6zVBf4OrDHGXJPSaYxpbozZCHzmy+JEREQk63766SciIyO97ZEjRxIYGOg0kpPh4Yfhvfdg2zaXKpRLka2wZq39H1AP+APYbIzpboxZBywB/gLCfV6hiIiIZMngwYNJSkoCIDw8nJYtU93wGjIEFiyAMWPgrrtcqlAuRbZng1prTwJvA6WBD4CiwD+ttc2stWuycy1jTJAxZqoxZo0xZrMx5j5jTKgx5itjzGpjzARjTKDn3EeNMes9P62zW7eIiEh+tnv3bubOnettv/nmm+e2lfroI3j9dWcbqT59XKpQLlW2wpoxpoUxZg3wBbAe+D+gBs6t0UvRBYix1jYA7gHeBUYC/7HWNvLU19oYUwZ4AWgMtAD+Y4wpnMk1RURECpyIiAhS5v+1bNmS2rVrOwfi4+Hf/4ZGjSAiwlmeQ/KU7E4BWQysBBpZa9cCGGO+BaYYY6631r6SzevNBeZ73id7Xu8AHkr1fQ2BWGCDtfYscNYY8zNwI7A9m98nIiKS75w4cYLJkyd72/369Tt3sHBh+Ppr5/X8xW8lT8jubdBwa22TlKAGYK2NBFoBzxhjPs7Oxay1Mdbak8aY4sAcYAhQKNXSIDFAWc/PiVQfTelPwxjT0xgTZYyJOnr0aLZ+MRERkbxq0qRJ3hmgN910E02bNnU2Yx8zxtlS6tpr4aqrXK5SLlV2Jxh8nUn/l8CdOKNi2WKMqQgsBz6y1k4HEoz3JjulgGPAcaB4qo+l9J9fR6S1NsxaG1auXLnsliIiIpLnJCYmEhER4W0/++yzGIDHHoP+/WHTJtdqE9/I9kp4xphywINAZZwZoJHW2mPW2u+NMdkKa57lP5YBfa21yz3dUTi3PlfjjNgtBDYDI40xhYArgGrAT9mtXUREJL+ZP38++/fvB6DnlVfSfdgweOIJ52DHjlCvnovViS9kdweD+jjPkZ0G9gD1gaXAMWPMI8AGIDv3H1/EuZ052Bgz2NPXG4gwxgQBu4CF1tokY8xYYJWn5hestXHZqV1ERCQ/eueddwBn1fqIuDgCfv313MFFi2DGDG0llceZ7OwcZYzZAuwFHvZ0xQNh1tpvjDH/Aa611nbN9AJ+FBYWZqOiotwuQ0REJMds2bKFOnXqALAPCMnopJAQ2LfPf0XJJTHGbLXWhmV0LLsTDG4CPrDWJgLnp7zNOAvmioiIiB+kjKqB82xShqKj/VKL5JzshrUDQJVMjh0FrsnkmIiIiPjQgQMHmDVrlrcdX6FCxidWzjTGSR6R3bD2EfCqMaZqBsdCcWZtioiISA577733SExMBKBBgwYEv/kmpOwDmqJYMRgxwoXqxJeyG9Zex5mF+Q3wDs6t0BLGmH8Ag3AWzBUREZEcFBsby4QJE7ztZ599FqpWddZUu+oqZ5eCkBCIjNTkgnwgW7NBrbVxxphmwPPAc4ABvvIc/g4Y6NvyRERE5Hwffvghf/75JwChoaG0adMGhg2DgAD46ScoU8blCsWXLjqyZoz5t2eD9RAAa22StXYkUAG4FWdPz38Ata21B3O0WhERkQLOWptmYsEzzzxDYGAgLFsGtWsrqOVDWRlZewR4BcAY8xfOCNp3wLee15XW2vgcq1BERES8li1bxq5duwAoXrw4PXr0gOPHYfNmGDTI5eokJ1w0rFlrq3n27rwVZwTtaZwdBlIkejZW/xb41lr7do5UKiIiImlG1bp3706JEiVg+3aoUQOaN3exMskp2V0U9wWckbangJ9xlupoi7PrQDHgmLU2V8wR1qK4IiKS3+zatYsaNWoAYIxh9+7dVK2a0QINktdcaFHc7O4N+gLQzVq7ztM+Cmw3xkTgTDSIyPSTIiIiclnGjh3rfd+mTRsnqFkLiYlQqJCLlUlOyu7SHYE4I2hpWGuPAa8B/X1RlIiIiKR17Ngxpk+f7m0/++yzzpuffoKyZeGLL1yqTHJadsPabODfxphSGRyLx1kYV0RERHwsMjKSM2fOAHDrrbfSsKHn8fGlS+HUKbjhBherk5yU3bD2AnAa2G2MGWqMuc0Yc50xpgnwH+BHn1coIiJSwCUkJPDuu+962/369cMY4zSWLYNq1aBKZrtBSl6XrbBmrT2FMxM0AugFbAH2A18CxYF/+bpAERGRgm7OnDkcPOgsZXr11VfTsWNH50BcHKxapVmg+Vx2JxhgrU0AhhljhgM1cWaEHgO+03prIiIivmWtZcyYMd52r169CA4Odhpr10JsLDRr5lJ14g/ZDmsprLXJnFsgV0RERHLAhg0b2LJlCwDBwcE8+eST5w6GhMDLL0N4uDvFiV9kO6wZY9oA1YA/gO+BndbaM74uTERERNIugtulSxfKly9/7uDf/w4jRrhQlfhTtsKaMSYS6AEcBkoBRYEkY8wvwHacW6HDfV6liIhIAbR//37mzp3rbXuX6wD480/YuhUaNIAiRVyoTvwlu7NBOwD/ttZWtNZegTPC1hH4GGcNtkd9XJ+IiEiB9e6775KcnAxAkyZNqFmz5rmDn3/uPKv2ww8uVSf+kt3boKeAjSkNa+1eYC/wqS+LEhERKehiYmL44IMPvO00o2rgLNlRrhzcequfKxN/y+7I2lSgRQ7UISIiIqlMnTqVkydPAlCtWjXuueeecweTk52wdvfdEJDdf8olr8nu/8K/AW2MMX2NMZc8k1REREQyl5ycnGYf0L59+xKQOpR99x0cOaIlOwqI7Aaut4ErgDHAq8aYNThLd3yLM7lgj4/rExERKXAWL17Mnj3OP6mlSpXi0UfPeyT8q6+cV4W1AiG7Ya0E8DecxXBreV7bAy8BAcaY09ba4r4tUUREpOCw1vL2229720888QRXXnll2pP69YOmTeGaa/xcnbjhomHNGBPgWQAXa63FmVCwF5if6pwiwM2eHxEREblEo0ePZvXq1QAEBgbSp0+f9CcFBmpiQQGSlWfWjhljagAYY3oYY2obY4qmPsFae9ZaG2WtnZoTRYqIiOQ5M2ZAaKgzASA01GlfxNdff83AgQO97T59+lC5cuXzT4Knn4Zjx3xbr+RaWbkN+hzwl+f9O0AxIDnVQrg7PK/brbW/5EiVIiIiecmMGdCzp7NvJ8D+/U4boEuXDD9y6NAhOnToQFJSEgB169blzTffTH/i3LkwaRK89VZOVC65kHHubGbxZGMM6Z9Zqwn8HWeULsZaWyIH6sy2sLAwGxUV5XYZIiJSEBCL6GMAACAASURBVIWGOgHtfCEhsG9fuu6EhAQaN27M2rVrAShXrhzffPMN1113Xfpr3HgjVKkCS5b4tmZxlTFmq7U2LKNj2ZpgoGfWREREsiA6Olv9L774ojeoBQQE8PHHH2cc1Pbvh59+gtSbuUu+55OV9DJ6Zs04JhtjKl/goyIiIvlPxYoZ95///Bkwe/ZsRo8e7W0PHz6cJk2aZPz5ZcucVy3ZUaDk5LLHATh7hV51sRONMQ2NMV973s82xqzy/PxijJnn6R9ljPkm1bGSOVi7iIjIpUlOhjJlMj724otpmj/++CPdu3f3tlu3bp1mgkE6cXFw++1QvbovKpU8Iqf3qDAXPcGYgcC7QGEAa217a2040Bo4DvTznHo70MJaG+75OZkzJYuIiFyGkSNh+3Z47DHnGTVjnPXQjIEtW7ynxcTE0LZtW2JiYgCoWrUq06ZNS7tTwfn69IGoKOdaUmDkhg3F9gDtMugfCky11u7zTGy4Afg/Y8xaY8xjfq1QREQkK77+GgYPho4dnRmb+/Y5I20HD8LzzztbRCUmYq3liSeeYNeuXQAULVqUuXPnUqpUqcyvHR8P2ZgUKPmH62HNWjsXSEjdZ4wpB7QCJni6igHvAV1wNpLvbYy55fxrGWN6GmOijDFRR48ezdnCRUREznf4MNSsCZGR6Ue/Xn8dFi2CoCAiIiKYOXOm99CECRO45ZZ0/6yl/3zVqs6tUClQXA9rmXgQWGCtTQlxZ4HR1tpYa20MsAJnyZA0rLWR1towa21YuXLl/FiuiIgI0KEDbN0KJTJYxSrIWYBh66xZrOjXz9v9r3/9i65du1782suWQblyEBzsq2olj8itYa05sDhV++/AJmNMkDGmENAA2OpKZSIiIud7+22YMsV5HxiY6Wm///47x7p2ZVpyMhWAsLAwxo4de/HrHz8OmzZB8+a+qVfylCyHNWNMIWPMTmNMg5wsyONvwK6UhrX2J2AKsAH4Gphird2VyWdFRER8asWKFbz22musXr3au8OA1+rVMHAgfPnlBZ8pS0xMpFOnTvSOi6MIMLZwYebMmUNwVkbKVqxwnn3Tkh0FUpYXxbXWJhhjyuOZtZmF85OMMVWAg1k4dx9QN1W7VgbnjAJGZbVeERERX5g1axYPPfQQKTv+VKhQgXbt2tG+fXvurFaNwE6d4O9/h//7vwvO0hw8eDArV64E4C1gcHy8MwEhJOTiRSxd6txaveMOH/xGktdk9zbox8D9WT3ZWrs/1XNnIiIiecqKFSt45JFHvEEN4PDhw4wfP57G4eGsrVKF+CNHiBo4kKRixTK9zvz58xk5cqS3HTBokLMlVe/ekJCFfybbtnUmGBQqdDm/juRR2Q1rvwAPGGOGGmP0hKOIiORb27Zt4/777yc+Ph6ASpUqUb58ee/xJkCj+Hh6JSVRu0cPrrvuOvr06ZPuVunu3bt59NFHve2WLVvy4rBhMG4c3HWXsyTHxbRo4QQ7KZCyu5H7KeAKT/M0sAr4BvgO+M5au9fXBV4qbeQuIiKX6pdffqFevXr8/vvvAFSsWJH169dTsWJFvv76a2bPns3cuXOpfOQIGf1Lk3Kr9IEHHqBfv37s2LEDgNDQULZu3UqZzHY4yMjWrc5M0lq1tBhuPnahjdyzG9YMzsP/NYFanteaOLM1A4AYa20G85X9T2FNREQuxZEjR6hfvz579uwBoFSpUqxdu5abbrrJOeHwYYiOJun221mzZg2zZs1i7ty5HDly5ILXDQ4OZv369dx2221pD6xbB0uWwPDhGX/w3nvh55+dH8m3LhTWsnUb1Dr2WmvnW2uHebaGuhG4EqgDPOODekVERFxx6tQp7rnnHm9QK1KkCIsWLToX1JKSoEsXaNaMwJgYwsPDee+99zh48CArV66kV69eXH311Rlee/z48emDGjgzPUeMgOXL0x+Li4OVKzULtIDLVlgzxuwyxnxsjHnRGNPSGFMRwFp71lobZa2dmiNVioiI5LD4+Hjatm3L1q3OMp4BAQHMnDmTO/fvdyYDBARA2bJOuBozBkqW9H42MDCQ8PBwxo8fz4EDB9IFt/79+9OjR4+Mv/iFF5zZpL17p9+dYN06iI1VWCvgsrx0h8d/gceBjp62NcYcx3lm7VtgDbDYWpuFpyVFRERyh+TkZLp168byVKNbEyZMoE1MDPTs6QQmgJMnnUVvC2e+ilVKcAsPD2fcuHGcPn2aEhntaJCiSBF4911nEsGoUfDyy+eOLVvmPK92112X+ytKHpbd2aDJwF9AQ6AS8E9gJM4m692AiUC0MSajjdlFRERyHWstzz//PB9//LG3b9iwYTzxxBMwaNC5oJYiKcnpz4LAwMALB7UUzZtDu3bOc2v795/r/+orqFcPihfP0vdJ/pTdkbXngG7W2rWe9gFgszEmEvgSGA6EAjOMMSestV/5rFIREZEc8PbbbzNmzBhvu1evXgwePNhpREdn/KHM+i/HmDFOMLv22nN9K1aAZ0aqFFzZDWtBQMnzO621J40xbwCDrbV1jDE3AIMBhTUREcm1pk+fzoABA7ztdu3aMW7cOEzKEhmVK6cd6UpRubLvi6lUCZ57znlvrbNMR/HiGlWTbN8GnQf82xhTNoNjCYBnugyLgQynn4qIiOQGS5YsoXv37t52o0aN+PDDDwlMvRH7iBFw/s4ExYo5/Tnl+eehaFEnrJUpAzNm5Nx3SZ6Q3bD2PBAL7DXG/NsYc5sx5jpjTDjwOvCj57x4QCv3iYhIrrRp0yYefPBB704DtWrVYsGCBRQpUiTtiV26QGSks3+nMc5rZKTTnxNmzHAmG6TMCj1+3JngoMBWoGVrUVwAY0xh4CWgN5AywmaAX4EHrbVbjDEvAZ2ttTV9WWx2aFFcEZGcl5yczLp16/jiiy8IDg7m/vvvp2bNmuduI+ZCP/30E/Xr1+fYsWMAhISEsH79eq5N/ayYW0JDM77tGhLibPou+ZbPdjA476IGuAWoAPyBs91UgudYI6CYtXbJpZV8+RTWRERyRkpAmz17NnPmzOHQoUNpjlevXp1OnTrRsWNHrr/+epeqzNjBgwepV68e+z2BqGzZsqxbt44bbrjB5co8AgKc59XOZwwkJ/u/HvEbn4Y1Y0wQUBWItdb+6oP6coTCmoiI71wsoGXmtttu46GHHqJDhw6EhITkcJUX9v3339OhQwd++OEHAIoVK8bKlSupU6eOq3WloZG1AsuXe4PWxZlkUN7TFQvswLORO87o2obLK9c3FNZERC5PVgPaVVddRdu2bTl16hQLFiwg9vx1yTzq1avHQw89RPv27alQoUJOlp5GQkICI0eOZNiwYSQkJAAQFBTEokWLaNGihd/qyJIZM9IuwgvOhIacfE5OcgVfhrX1wEFgELALeB+oDoTjLJhrrLWBmV7AjxTWRESyLzsBrV27drRv355GjRoRFOSsBHX69Gk+//xzZs6cyeLFi4k7f/sknG2cwsPDeeihh2jbti1ly2a0wIBvbNu2je7du/Ptt996+woXLsyUKVPo3Llzjn3vZZkxw1l0NzraWSJkxAgFtQLAl2HtFPAgsBxnqY4wa+03xpgWwGjgcWvteh/UfNkU1kREss5ay8cff8zAgQP57bffMjynXLlytG3bNl1Ay8zJkyeZP38+M2fO5Msvv/TOvEwtKCiIFi1a0KtXL5o3b05AQHYXKchYXFwcr732Gv/5z3/SfO8dd9zB5MmTqVGjhk++R8RXfBnW/sCZ8bnKGBMDtEnZpcAYMxC41VrbyRdFXy6FNRGRrDlw4ABPPfUUixYtSncsuwEtM3/88Qdz585l5syZrF69moz+7alWrRpPP/003bp1o/hlLAS7ceNGunfvzq5du7x9RYoUYcSIEfTt2zftOmoiuYQvw9pqYKq1dooxZjsw2Vr7judYY2Cutba0L4q+XAprIiIXZq1l8uTJ9O/fn5MnT3r7M7vF6SsHDx5k9uzZzJw5k40bN6Y7Xrx4cbp3706fPn34+9//nuXrxsbGMmTIEMaMGZMmDDZs2JCJEydSrVo1n9QvkhMuFNaw1mb5B+gMDPe8HwBE4+xUUBKYBhzIzvVy8uf222+3IiKSsf/973+2adOmFkjz06tXL/vXX3/5rY7du3fbfv362RIlSqSrxRhjW7VqZZcuXWqTk5MveJ1Vq1bZqlWrpvn8lVdeacePH2+TkpL89NuIXDogymaSaS5nnbUiwBKgUao/HL2stZGXdEEf08iaiEh6ycnJvP/++wwcOJDTp097+6tWrcqkSZNo1KiRK3XFxMQwffp0IiIi+PHHH9Mdv/HGG3n66afp2rUrV155pbf/1KlTDBw4kPfffz/N+c2aNSMyMtL15UJEsipHFsVNdfFGQEXgG2tt+j9hLlFYExFJa/fu3fTo0YM1a9Z4+wICAujXrx/Dhg2j2Pl7YLogOTmZ5cuXM27cOD7//PN0x0uWLEn37t3p3bs3e/bsoWfPnkRHR6c5PmbMGLp165ard1EQOV+OhrXcSmFNRMSRlJTEmDFjGDJkCGfPnvX2V69encmTJ1O3bl0Xq8vc7t27GT9+PJMnT+bUqVNpjhlj0k1SuO+++5gwYULu2DZKJJsuFNZ8M0daRERype+//5569erxwgsveINaYGAggwYNYtu2bbk2qIEzO/Sdd97hwIEDREREpNm6KnVQK1u2LB999BELFixQUJN8SWFNRCQfSkhIYPjw4fzjH/9g8+bN3v5bbrmFLVu2MHz4cIKDg12sMOuKFy9Onz592LVrF0uWLKFly5beYynbR3Xq1Em3PSXf0m1QEZF8Zs+ePTz44IN899133r7ChQvz73//mwEDBlCoUCEXq/ON/fv3ExMTw0033eR2KSI+caHboL5dPEdERFwVExNDq1at+Pnnn719derUYfLkyfkq2GiWpxQkug0qIpKP9O7d2xvUgoODefvtt1m/fn2+CmoiBU2uCGvGmIbGmK8972saYw4aY1Z5fjp6+h81xqz3/LR2t2IRkdxn2rRpTJ8+3dv+4IMP6N+/v7ZXEsnjXL8N6tlTtAsQ6+m6HXjHWvtmqnPKAC/g7JZQGNhojPnCWhvv73pFRHKjH3/8kV69ennbjz76KI888oiLFYmIr+SGkbU9QLtU7duBlsaYr40xk4wxxYHawAZr7Vlr7V/Az8CNLtQqIpLrnDlzho4dOxIb6/x/3htuuIF3333X5apExFdcD2vW2rlAQqquKGCAtbYh8AswFCgLnEh1ToynLw1jTE9jTJQxJuro0aM5WLWISO7Rv39/tm/fDjjPqc2aNSvNlkwikre5HtYyMM9auyXlPVALOA4UT3VOKeDY+R+01kZaa8OstWHlypXL+UpFRFw2d+7cNPtijhkzhlq1arlYkYj4Wm4Ma18YY/7peX83sNnzU88YU8gYUwqoBvzkVoEiIrnB//73P3r06OFtt2vXjieffNLFikQkJ7g+wSADvYEIY0wicBh4wlp7yhgzFliFU/ML1to4F2sUEXFVQkICnTp14uTJkwCEhoYyceJEreIvkg/lirBmrd0H1PW83wbcmcE5k4BJ/q1MRCR3GjRoEJs2bQIgKCiImTNnUqpUKZerEpGckBtvg4qIyAUsWbKEt956y9t+/fXXueOOO1ysSERyksKaiEgecvDgQbp27eptt2zZkv79+7tYkYjkNIU1EZE8IikpiYcffpg//vgDgGuuuYZp06YREKC/ykXyM/0JFxHJI0aMGMHKlSsBMMYwY8YMtEyRSP6nsCYikgesXr2aoUOHettDhgzhrrvucrEiEfEXhTURkVzujz/+oHPnziQnJwPQsGFDhgwZ4nJVIuIvuWLpDhGR/CYxMZFt27axdu1a1qxZw86dO7n66qupXr061atXp0aNGlSvXp1KlSpdcG00ay3dunXj4MGDAJQtW5aPPvqIoCD99S1SUOhPu4iID5w+fZqNGzd6w9nGjRs5ffp0mnN2797N2rVr0/RdccUV3gCXOsT97W9/IygoiDFjxvD55597z582bRoVK1b0y+8kIrmDwpqIyCU4evQoa9eu9Yazb775hqSkpGxf5/Tp00RFRREVFZWmv3Dhwlx//fX89NO5nfWee+45WrVqddm1i0jeorAmIpJF3377Le+99x5r1qzhxx9/vOj5lStX5s4776RBgwbUrl2bo0ePsmvXLnbt2sUPP/zArl27+PPPPzP8bHx8PDt37vS2a9euzRtvvOGz30VE8g6FNRGRLJg8eTJPPfUU8fHxmZ5z8803e8PZnXfeSeXKldOd06JFC+97a603wKWEt5SfAwcOeM8rXbo0M2fOpHDhwr79pUQkT1BYExG5gMTERPr378+4cePS9BcqVIjatWt7w1m9evUoU6ZMtq5tjKF8+fKUL1+eRo0apTl28uRJfvzxR6Kjo6lbty6VKlW67N9FRPImhTURkUwcO3aMjh078tVXX3n7atasydixY6lbty5FixbNse8uWbIkd9xxh/b8FBGFNRGRjHz//fe0bt2aX375xdv3wAMPMH36dK688koXKxORgkaL4oqInGfhwoXUrVs3TVB79dVXmTNnjoKaiPidRtZERDystbz++usMGTIEay3grIM2bdo02rVr53J1IlJQKayJiOCsd9a9e3dmzZrl7QsNDWXBggXUqlXLxcpEpKBTWBMR1yUnJ5OUlEShQoVc+f7o6GjatGnDt99+6+0LDw9n9uzZXHXVVa7UJCKSQs+siYjfJSYmsmXLFt566y3uvfdeypQpQ5EiRahXrx5Dhw5l06ZNl7QbwKVYs2YNYWFhaYJar169WLZsmYKaiOQKJuW5jPwmLCzMnr99i4i4IyEhga1bt7Jq1SpWr17NunXrOHXq1AU/U6ZMGe6++26aN29O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X61atdiwYUO+u/2VenTtgw8+8O4dKhAREcGSJUu87WnTplGuXDkXKxIREV9RWMvDYmJiaN26NZMmTfL2NW3alDVr1lCxYkUXK8sZLVq04NZbbwXgzJkzREREuFxR7rBjxw4GDBjgbT/33HM0a9bMxYpERMSXFNbyqMOHD9Po/9u78zAryjPv498bGrRREcMq2rTBhZmAoAGUuK8Mgkt4YwDjAGJE8howURQcEEFBgqgEQwCFQCCoOOP6oqiMxi3GLYCyCC7ESI8SfRuVCIKAcM8fT/Whm6Vp4ul+6nT/Ptd1rj5V1X3619Wn6rnPU09VnX46Tz/9dGZenz59mD9/PvXr14+YrPKYWZkzQydNmsT69esjJopv06ZNXHLJJWzevBmA4447jrFjx0ZOJSIi2aRiLQetXLmSTp06sXjx4sy8G2+8kVmzZlG3bt2IySrfxRdfzFFHuWoMRAAAGK9JREFUHQXAunXruOeeeyInimvIkCG8/fbbAOTn53P//fdnbtElIiLVg4q1HPPyyy9z8skns3r1agBq167NtGnTGD16dI0YTF67du0yh/wmTJiQ6VWqaZ544gl++9vfZqYnTJiQMxc7FhGRilOxliO++uor5syZwznnnMMXX3wBQL169Zg3bx79+/ePnK5q9enTh0MPPRSAv//978yePTtyoqr3ySeflLlv6kUXXcSAAQMiJhIRkcqie4OmjLtTVFTE0qVLWbJkSeaxatUqSv+vmjRpwvz582vsfTLvuOMOrr/+eiDckuqdd94hLy8vcqqqsX37drp27cqCBQsAOPTQQ1m6dCmNGjWKnExERP5Z5d0bVMVaRJs2bWL58uUsWbIkU5wtXbqUdevWlftzxxxzDE899RQtW7asoqTps379egoLCzO9jHPnzqVXr16RU1WNiRMncs0112Smn3nmGc4555yIiURE5Nsqr1irGV0RkW3bto0PPviA5cuXZx5Lly7lvffeY/v27RV6jVq1atGqVSvOPPNMbrnlFho2bFjJqdPtoIMOYuDAgYwePRqAcePG0bNnz2o/bu+tt95i6NChmenrrrtOhZqISDWXip41MzsNGOPup5nZd4BZwEFAMdDP3b8ys87AzcB24A/uXu5pgDF61tydjz76qExRtnz5clasWMHXX39d4ddp0KAB7dq1o127drRt25Z27drRunVr8vPzKzF9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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "predX = []\n",
    "for i in range(10):\n",
    "    predval = miu + np.mean(error) - theta1*epsilon\n",
    "    if i == 0:\n",
    "        org_predX = train_data.iloc[-1,1] + predval\n",
    "    else:\n",
    "        org_predX = test_data.iloc[i-1,1] + predval\n",
    "    predX.append(org_predX)\n",
    "    epsilon = test_data.iloc[i,1] - org_predX\n",
    "\n",
    "plt.figure(figsize=(10,6))\n",
    "plt.plot(range(rows),ts_data.agr_index,'-',c='black',linewidth=3)\n",
    "plt.plot(range(train_data.shape[0],ts_data.shape[0]),predX,'o--',c='red')\n",
    "plt.xticks(range(rows)[::3],ts_data.year[::3],rotation=50)\n",
    "plt.xlabel(\"$year$\",fontsize=15)\n",
    "plt.ylabel(\"$agr\\_index$\",fontsize=15)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
